Network-provided content, such as Internet web pages or media content such as video, pictures, music, and the like, are typically served to end users via networked computer systems. End user requests for the network content are processed and the content is responsively provided over various network links. These networked computer systems can include origin hosting servers which originally host network content of content creators or originators, such as web servers for hosting a news website. However, these computer systems of individual content creators can become overloaded and slow due to frequent requests of content by end users.
Content delivery systems have been developed which add a layer of caching between the origin servers of the content providers and the end users. The content delivery systems typically have one or more cache nodes distributed across a large geographic region to provide faster and lower latency access to the content for the end users. When end users request content, such as a web page, which is handled through a cache node, the cache node is configured to respond to the end user requests instead of the origin servers. In this manner, a cache node can act as a proxy for the origin servers.
Content of the origin servers can be cached into the cache nodes, and can be requested via the cache nodes from the origin servers of the content originators when the content has not yet been cached. Cache nodes usually cache only a portion of the original source content rather than caching all content or data associated with an original content source. The cache nodes can thus maintain only recently accessed and most popular content as cached from the original content sources. Thus, cache nodes exchange data with the original content sources when new or un-cached information is requested by the end users or if something has changed in the original content source data.
While cache nodes may request content from the origin servers, in sonic implementations, multiple origin servers may store the same origin content. Consequently, the cache nodes of the content delivery network may be capable of using multiple origin servers when content is not readily available at the cache nodes. However, because each of the cache nodes may refer to multiple origin servers to retrieve the same content, it may become difficult to balance the requests to each of the origin servers.